# Python 趣味编程：第 12 章
# 例題 12.4 动画
# --------------------------
# 程序名: 12-animation.py

import pygame

FPS = 60     # Frame per Second每秒帧数
LOOP = True

# 球的绘图函数
def draw_ball(screen, x, y, radius=10):
    pygame.draw.circle(screen, (255, 255, 0), (x, y), radius)

screen = pygame.display.set_mode((640, 320))
clock = pygame.time.Clock()   # 时钟对象
x, y = (100, 100)   # 球的初始位置
vx = 10             # 球的速度

while LOOP:  # 绘图的循环
    for event in pygame.event.get():
        # 处理“关闭”按钮
        if event.type == pygame.QUIT: LOOP = False
    clock.tick(FPS)      # 根据每秒的调用次数延迟
    x += vx
    if not (0 <= x <= 640):  # 离开画面后，改变方向
        vx = -vx
    draw_ball(screen, x, y)  # 绘制球
    pygame.display.flip() # 球的绘制反映在画面上
    screen.fill((0, 0, 0))  # 填充：不作用到下一个 flip
pygame.quit()   # 关闭画面
